package co.edu.udea.quejas.DAO.hibernate;

import java.util.ArrayList;
import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import co.edu.udea.quejas.DAO.SucursalDAO;
import co.edu.udea.quejas.DTO.Sucursal;
import co.edu.udea.quejas.exception.IWDaoException;

public class SucursalDAOHibernate extends HibernateDaoSupport implements SucursalDAO {

	@Override
	public List<Sucursal> obtener() throws IWDaoException {
		Session session =null;
		List<Sucursal> sucursales = new ArrayList<Sucursal>();
		try{
		session= (Session) getSession();
		
		Criteria criteria = session.createCriteria(Sucursal.class);
		sucursales = criteria.list();
		}catch(HibernateException e){
			throw new IWDaoException(e);
		}finally{
			
			session.close();
		}
		return sucursales;
	}

	@Override
	public Sucursal obtener(int idSucursal) throws IWDaoException {
		Sucursal sucursal = null;
		Session session =null;
		try{
		session= (Session) getSession();
		sucursal= (Sucursal) session.get(Sucursal.class, idSucursal);	
		
		}catch(HibernateException e){
			throw new IWDaoException(e);
		}finally{
			session.close();
		}
		return sucursal;
	}

}
